﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ERP.Domain.Scheduling
{
    /// <summary>
    /// 排班明细表实体类
    /// </summary>
    public class ScheduleDetail : Audit
    {
        /// <summary>
        /// 明细ID（主键，若数据库中是自增列，可添加自增配置）
        /// </summary>
        [Key]
        [Column("DetailId")]
        public int DetailId { get; set; }

        /// <summary>
        /// 关联排班ID（外键，关联排班表的ScheduleId）
        /// </summary>
        [Column("ScheduleId")]
        public int ScheduleId { get; set; }

        /// <summary>
        /// 实际出勤状态（可定义为枚举，如 0-缺勤、1-出勤等，需结合业务）
        /// </summary>
        [Column("ActualStatus")]
        public int ActualStatus { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Column("Remarks")]
        [StringLength(200)] // 假设备注最长 200 字符，可按需调整
        public string Remarks { get; set; }

        /// <summary>
        /// 逻辑删除标识符
        /// </summary>
        public bool? IsDelete { get; set; } = false;

        // 若使用 EF Core，可添加导航属性，示例：
        // public virtual Schedule Schedule { get; set; } // 关联排班实体
    }
}
